---
title: clsActiveBenefitSchedule
summary: API reference for clsActiveBenefitSchedule.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Claim
reference_type: embedded
---

# clsActiveBenefitSchedule

`clsActiveBenefitSchedule` owns an active benefit schedule row and drives the benefit-payment stop-processing workflow, deciding per schedule whether a scheduled payment was released and updating or deleting the corresponding rows accordingly (see [Benefit-payment stop processing](../../operations/benefit-payment-stop.md)).

## Purpose
- Retrieves and persists active benefit-schedule rows keyed by claim and benefit-payment sequence number ([SQL-011](../../sql/SQL-011.md), [SQL-038](../../sql/SQL-038.md), [SQL-053](../../sql/SQL-053.md)).
- Calls out to `ClaimServices.hasReleasedScheduledPayment(...)` (external `SAIF.Business` package) to decide the stop-processing branch.**
- Composes a human-readable task description via `ReturnTask()` for downstream task creation.*

## Context
- Namespace: `SAIF.Business.Claim`
- Assembly/package: `SAIF.Business.Claim.dll`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ProcessBenefitPayment` | `Public Function ProcessBenefitPayment(claimId As Decimal, callingApplication As CallingApplication, Optional callingFunction As CallingFunction) As Boolean` | Runs the stop-processing workflow: updates the schedule to `RemainingPaymentCount = 1` when a released payment exists ([BR-009](../../business-rules.md#br-009-benefit-schedule-update-must-affect-a-row)), otherwise deletes the payment row ([BR-010](../../business-rules.md#br-010-benefit-payment-delete-must-affect-a-row)). |
| `ReturnTask` | `Public Function ReturnTask() As String` | Composes a human-readable task description from the `CallingApplication`, `CallingFunction`, and `StopStatus` enums for downstream task creation.* |
| `CallingApplication` | `Public Enum CallingApplication` | Identifies which calling application initiated the stop-processing request. |
| `CallingFunction` | `Public Enum CallingFunction` | Identifies which calling function initiated the stop-processing request. |
| `StopStatus` | `Public Enum StopStatus` | Records whether the outcome was `Released` (payment updated) or `Deleted` (payment row removed). |

## Behavioral notes
- `clsBenefitSchedule.vb` (excluded from compilation) duplicates most of this class's logic byte-for-byte.*
- Zero-row updates/deletes raise `#PAYUPD#`/`#PAYDEL#` and return `False` rather than throwing.

## Constraints and usage notes
- Callers must supply a valid `claimId`; `callingFunction` is optional and only affects the composed task description.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Library index](../../index.md)
- [API reference index](../index.md)
- [Overview](../../overview.md)
- [Architecture](../../architecture.md)
- [Dependencies](../../dependencies.md)
- [Operations and processes](../../operations-processes.md)
- [Business rules](../../business-rules.md)
- [Database tables](../../database-tables.md)
- [SQL catalog](../../sql/index.md)
## Sources
- SAIF.Business.Claim/clsActiveBenefitSchedule.vb
